In the image processing technology, a technology for reducing noise contained in an image is essential to sharp reproduction of a captured image. A typical technology for reducing noise is disclosed, for example, in Non-patent Literature 1. The Non-patent Literature 1 discloses a noise removal method using total-variation (T-V) norm regularization. Hereinafter, the method is referred to as a T-V method for short.
FIG. 19 illustrates an image processing method using the conventional T-V method.
FIG. 20 is a flow chart illustrating the image processing method using the conventional T-V method.
An input image F is supplied to a skeleton component/residual component separation unit 101.
The skeleton component/residual component separation unit 101 separates the supplied image F to a skeleton component UT-V composed of a strong edge and a flat area and a residual component VT-V composed of a texture and a noise. In other words, the input image F is represented according to the following formula (1), i.e., is represented by a sum of the skeleton component UT-V and the residual component VT-V.F=UT-V+VT-V  (1)
The skeleton component UT-V can be obtained by minimizing a total variation norm J (UT-V) of the UT-V that is represented by the following formula (2).J(UT-V)=∫|∇UT-V|dxdy  (2)
Meanwhile, in the formula, x represents a pixel location of the skeleton component UT-V in a horizontal direction, and y represents a pixel location of the skeleton component UT-V in a vertical direction.
The minimization problem can be solved by iteration of the Chambolle's projection method. Alternatively, a subgradient method using a subgradient of a T-V norm can be used instead of the Chambolle's projection method.
Where k represents an iteration count,UT-V(k) represents a skeleton component at a time of a kth iteration, and β represents a value to be set based on a standard deviation of a noise of a target image,UT-V(0)=F is set as an initial value where k=0 (step S1).
As represented by the following formula (3), a skeleton component at a time of a k+1th iteration, i.e.,UT-V(k+1) is calculated using the subgradient method (step S2).
                                                        U                              T                -                V                                            (                                  k                  +                  1                                )                                      =                                          U                                  T                  -                  V                                                  (                  k                  )                                            -                                                α                                      (                    k                    )                                                  ⁢                                  g                  ⁡                                      (                                          U                                              T                        -                        V                                                                    (                        k                        )                                                              )                                                                                ,                                          ⁢                                    where              ⁢                                                          ⁢                              U                                  T                  -                  V                                                  (                  0                  )                                                      =            F                    ,                                          ⁢                                    α                              (                k                )                                      =                          β                              k                +                1                                              ,          and                ⁢                                  ⁢                              g            ⁡                          (              X              )                                =                                    ⅆ                              J                ⁡                                  (                  X                  )                                                                    ⅆ              X                                                          (        3        )            
A stop condition for stopping the iteration will be described below. Where a height of the input image is M, a width thereof is N, and a m-line n-row element of the residual component at the time of the kth iteration, i.e.,VT-V(k) it is possible to stop the iteration (step S3), using a standard deviation σnoise of a noise of the target image estimated in advance, when the following formula is satisfied.
                                          1            MN                    ⁢                                    ∑                                                1                  ≤                  m                  ≤                  M                                ,                                  1                  ≤                  n                  ≤                  N                                                                                                  ⁢                                          (                                  v                                      m                    ,                    n                                                        (                    k                    )                                                  )                            2                                      ≈                  σ          noise          2                                    (        4        )            Here, the formula (4) is true provided that the residual component, i.e.,VT-V(k) is the noise. Alternatively, it is possible to stop the iteration (step S3) when
                                          ∑                                          1                ≤                m                ≤                M                            ,                              1                ≤                n                ≤                N                                                                                    ⁢                                                                v                                  m                  ,                  n                                                  (                                      k                    +                    1                                    )                                            -                              v                                  m                  ,                  n                                                  (                  k                  )                                                                                <        ɛ                            (        5        )            is satisfied using a threshold ε. In other words, in the above formula (5), a result of the kth iteration, i.e.,VT-V(k) is compared with the k+1th iteration, i.e.,VT-V(k+1) and, if a fluctuation amount is sufficiently small, it is considered that a solution is converged.
Further, the iteration is stopped at a time also when the iteration count k reaches the maximum value, i.e., iteration count kmax (step S4). Where the iteration count takes a value less than k, andUT-V(k) is not converged, the subgradient method continues provided k=k+1 (step S5).
In thus obtained skeleton component UT-V and residual component VT-V, the skeleton component UT-V is output as a denoised image Z according to the following formula (6) (step S6).Z=UT-V  (6)
FIG. 21 illustrates an improved image processing method of the image processing method using the T-V method of FIG. 19. That is, in the improved method, a noise component of the residual component that was separated by the skeleton component/residual component separation unit 101 is attenuated to be synthesized with the skeleton component.
FIG. 22 is a flow chart illustrating the image processing method of FIG. 21.
The residual component VT-V separated by the skeleton component/residual component separation unit 101 is supplied to a noise suppression unit 102, where the residual component VT-V is subjected to an effect of a function f for attenuating the noise component according to the following formula (7) (step S7). The skeleton component UT-V is synthesized with the residual component (i.e., texture component) f (VT-V), of which noise component being attenuated, to be output as the image Z containing less noise (step S6). Meanwhile, step 1 to step 5 are identical to those of the image processing method using the T-V method of FIG. 19. Therefore, descriptions thereof are omitted here.Z=UT-V+f(VT-V)  (7)
Examples of the function f include soft evaluation threshold processing illustrated in FIG. 23(a), hard evaluation threshold processing illustrated in FIG. 23(b), and factor processing illustrated in FIG. 23(c). The function f, however, is not limited to those examples. Where an input value is x, an output value is f(x), and a threshold is r in the function f, the soft evaluation threshold processing illustrated in FIG. 23(a) is represented by the following formula (8).
                                          f            soft                    ⁡                      (                          x              ,              τ                        )                          =                  {                                                                                          sign                    ⁡                                          (                      x                      )                                                        ⁢                                      (                                                                                          x                                                                    -                      τ                                        )                                                                                                                    if                    ⁢                                                                                  ⁢                                                                x                                                                              >                  τ                                                                                    0                                            otherwise                                                                        (        8        )            
Here, a sign function in the formula (8) is a function for outputting a plus/minus sign.
The hard evaluation threshold processing illustrated in FIG. 23(b) is represented by the following formula (9).
                                          f            hard                    ⁡                      (                          x              ,              τ                        )                          =                  {                                                    x                                                                                  if                    ⁢                                                                                  ⁢                                                                x                                                                              >                  τ                                                                                    0                                            otherwise                                                                        (        9        )            
Further, when γ is set to a proper coefficient, factor processing illustrated in FIG. 23(c) is represented by the following formula (10).ffactor(x,γ)=γ×x  (10)
Still further, it is possible to combine the soft evaluation threshold processing or the hard evaluation threshold processing with the factor processing according to a formula (11).ffactor-soft(x,γ,τ)=fsoft(ffactor(x,γ),τ)fsoft-factor(x,τγ)=ffactor(fsoft(x,τ),γ)  (11)
In the formula (11), a function is constituted using the soft evaluation threshold processing. However, as a matter of course, it is also possible to constitute an equivalent function using the hard evaluation threshold processing.